﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cotizav.AccesoDatos
{
    public class VendedorDAO
    {
        public List<Entidades.Vendedor> Listar(Util.ContextoDB ctx)
        {
            SqlCommand cmd = new SqlCommand("select * from VENDEDOR", ctx.GetConexion(), ctx.GetTx());
            DataTable dtVendedor = new DataTable();
            dtVendedor.Load(cmd.ExecuteReader());

            List<Entidades.Vendedor> lista = new List<Entidades.Vendedor>();

            foreach (DataRow fila in dtVendedor.Rows)
            {
                Entidades.Vendedor v = new Entidades.Vendedor();

                v.IdVendedor = Int32.Parse(fila["ID"].ToString());
                v.Nombre = fila["NOMBRE"].ToString();
                v.CodigoEmpleado = fila["CODIGOEMPLEADO"].ToString();
                v.Telefono = fila["TELEFONO"].ToString();
                v.Anexo = fila["ANEXO"].ToString();
                v.Celular = fila["CELULAR"].ToString();
                v.Nextel = fila["NEXTEL"].ToString();
                v.Fax = fila["FAX"].ToString();
                v.Rpc = fila["RPC"].ToString();
                v.Rpm = fila["RPM"].ToString();
                v.Email = fila["EMAIL"].ToString();
                v.IdCargo = !(fila["IDCARGO"] is DBNull) ? Int32.Parse(fila["IDCARGO"].ToString()) : new Nullable<int>();
                v.Activo = Int32.Parse(fila["ACTIVO"].ToString());
                v.FechaRegistro = !(fila["FECHAREGISTRO"] is DBNull) ? Convert.ToDateTime(fila["FECHAREGISTRO"].ToString()) : new Nullable<DateTime>();
                v.FechaModificacion = !(fila["FECHAMODIFICACION"] is DBNull) ? Convert.ToDateTime(fila["FECHAMODIFICACION"].ToString()): new Nullable<DateTime>();
                v.UsuarioRegistro = fila["USUARIOREGISTRO"].ToString();
                v.UsuarioModificacion = fila["USUARIOMODIFICACION"].ToString();

                lista.Add(v);
            }

            return lista;
        }
    }
}
